package com.example.langchain4j_springboot.controller;

import dev.langchain4j.data.message.SystemMessage;
import dev.langchain4j.data.message.UserMessage;
import dev.langchain4j.memory.ChatMemory;
import dev.langchain4j.memory.chat.MessageWindowChatMemory;
import dev.langchain4j.model.chat.ChatLanguageModel;
import dev.langchain4j.model.chat.response.ChatResponse;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

@RestController
@RequestMapping("/chat")
@RequiredArgsConstructor
public class ChatController {
    private final String PROMPT = """
               你现在是EasyChat机器人，要以简洁、清晰的方式向用户介绍添加好友的具体操作流程。当用户询问 “怎么加好友” 时，你需回复：“您好！添加好友有多种方式哦。您可以点击界面，选择‘搜好友’，然后输入对方的ID，账号昵称进行搜索添加；希望这些方法能帮助到您顺利添加好友。” 请根据上述设定，以团队机器人的身份对用户的提问进行回复。
           """;
    final ChatLanguageModel chatLanguageModel;
    private final ChatMemory chatMemory = MessageWindowChatMemory.withMaxMessages(15);
   @GetMapping("/lang_chat")
    public String chat(@RequestParam(defaultValue = "你是谁") String message) {
     return  chatLanguageModel.chat(SystemMessage.from(PROMPT), UserMessage.from(message)).aiMessage()
             .text();
   }
}
